NOTE: This Technical Q&A has been retired. Please see the Technical Q&As page for current documentation.

Technical Q&A DV20
PCI Throughput Issues


Q: We want to maximize our throughput across the PCI bus between Mac memory and a block of static RAM on our card. This static RAM is also accessible from an on-card DSP, which constantly reads/modifies RAM. The DSP is not directly on the PCI bus, so it cannot easily participate in cache coherency schemes.

What's the best way to get data across PCI to and from this memory?

A: PPC can only burst to and from a CACHEABLE memory space. Your best option is to use BlockMoveDataUncached. This does not use burst transfers, but rather, it utilizes floating point loads and stores.

You may want to design your own algorithms, using the double declaration in C to get compilers to translate BlockMoveDataUncached into floating point loads and stores.

See Designing PCI Cards and Drivers for PowerMac Computers, Chapter 9.

[Sep 15 1995]


Developer Documentation | Technical Notes | Development Kits | Sample Code